/*
 * stegofiles.h
 *
 *  Created on: May 23, 2011
 *      Author: tommy
 */

#ifndef STEGANOGRAPHY_H_
#define STEGANOGRAPHY_H_

#include "wav.h"

StegoFileT * readStegoFile(const char * sfilename);

int writeStegoFile(const char * out, StegoFileT * sfile);

int hideFile(BYTE * data, int datasize, wavT * carrier, int (* steganograph) (wavT *, BYTE *, int));

BYTE * getStegoFileSize(Params params, wavT * carrier, int offset, int * size);

BYTE * extractFile(Params params, BYTE * dataToExtract, int offset, int outl);

char * getStegoFileExtension(Params params, wavT * carrier, int offset, int outl);

int lsb1(wavT * carrier, BYTE * data, int datasize);

int lsb4(wavT * carrier, BYTE * data, int datasize);

int lsbe(wavT * carrier, BYTE * data, int datasize);

void freeStegoFile(StegoFileT * sfile);

#endif /* STEGANOGRAPHY_H_ */
